package com.zretc.dao;

import com.zretc.entity.House;
import com.zretc.entity.HouseManager;
import com.zretc.entity.Track;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface HouseManagerMapper {
    /**
     *新增一条记录到仓库管理员表中
     * @return
     */
    int inseretHouseManager(HouseManager houseManager);

    /**
     *根据用户名和密码查询记录
     * @param houseManagerName  仓库管理人员德的姓名
     * @param houseManagerPsw    仓库管理人员的密码
     * @return   对象
     */
    HouseManager findByHouseManagerNameAndHouseManagerPsw(@Param("houseManagerName") String houseManagerName, @Param("houseManagerPsw")String houseManagerPsw);

    /**
     * 仓库管理员新增仓库
     * @param house
     * @return
     */
    int insertHouse(House house);

    /**
     * 查询仓库编号，在仓库管理员注册的时候
     * 供选择仓库编号使用
     * @return
     */
    List<String> findHouse();

    /**
     * 管理员修改仓库信息
     * @param houseId
     * @return
     */
    int updateHose( @Param("houseId") String houseId ,@Param("houseName") String houseName, @Param("houseLimit") Double houseLimit);

    /**
     * 删除仓库
     * @param houseId
     * @return
     */
    int deleteHouse(String houseId);

    /**
     * 查询所有的仓库
     * @return
     */
    List<House> findAllHouse();

    /**
     * 通过仓库编号查询仓库信息
     * @return
     */
    House findByhouseId(String houseId);

    /**
     * 查询地址编号，供新增仓库的时候从下拉框
     * 中选择地址编号
     * @return
     */
    List<String>   findAddressId();

    /**
     * 根据操作码查询出入库信息
     * @param opCode
     * @return
     */
    List<Track> findEntryInfo(String opCode);


    /**
     * @author 子玉
     * 根据编号查询仓库工作人员
     * @param houseManagerId
     * @return
     */
    HouseManager selectHouseManagerById(String houseManagerId);

    /**
     * @author 子玉
     * 根据编号修改仓库工作人员个人信息
     * @param map
     * @return
     */
    int updateHouseManagerById(Map<String,Object> map);

}
